
Public Class GameData
    Public version As Integer = 5
    Public info As String = "This file will be overwritten when the version does not match"

    Class NameId
        Public name As String
        Public Id As Integer
        Public Flags As Integer
    End Class

    Public Class NameIdList
        Inherits DictionaryBase
        Implements Xml.Serialization.IXmlSerializable

        Shadows Function GetEnumerator() As System.Collections.IEnumerator
            Return InnerHashtable.Values.GetEnumerator
        End Function

        Public Sub Remove(ByVal Id As Integer)
            Me.InnerHashtable.Remove(Id)
        End Sub

        Public Function ContainsKey(ByVal Id As Integer) As Boolean
            Return Me.InnerHashtable.ContainsKey(Id)
        End Function

        Default Public ReadOnly Property Item(ByVal Id As Integer) As NameId
            Get
                Return DirectCast(Me.InnerHashtable.Item(Id), NameId)
            End Get
        End Property

        Public Function GetName(ByVal Id As Integer) As String
            Dim result As String = String.Empty

            Dim xo As NameId = Me.Item(Id)
            If xo IsNot Nothing Then
                result = xo.name
            End If

            Return result
        End Function

        Public Function Add(ByVal name As String, ByVal Id As Integer) As NameId
            If Not Me.InnerHashtable.ContainsKey(Id) Then
                Dim p As New NameId
                p.name = name
                p.Id = Id
                Me.InnerHashtable.Add(Id, p)
            End If

            Return DirectCast(Me.InnerHashtable.Item(Id), NameId)
        End Function


        Private xmler As Xml.Serialization.XmlSerializer
        Protected ReadOnly Property Serializer() As Xml.Serialization.XmlSerializer
            Get
                If xmler Is Nothing Then
                    xmler = New Xml.Serialization.XmlSerializer(GetType(NameId))
                End If
                Return xmler
            End Get
        End Property

        Public Function GetSchema() As System.Xml.Schema.XmlSchema Implements System.Xml.Serialization.IXmlSerializable.GetSchema
            Return Nothing
        End Function

        Public Sub ReadXml(ByVal reader As System.Xml.XmlReader) Implements System.Xml.Serialization.IXmlSerializable.ReadXml

            If reader.IsEmptyElement = True Then ' skip empty node
                reader.Read()
                Return
            End If

            reader.Read()
            reader.MoveToContent()

            While ((Not reader.EOF) AndAlso (reader.Name = "NameId"))
                Dim entry As NameId
                entry = CType(Serializer.Deserialize(reader), NameId)
                Me.Dictionary.Add(entry.Id, entry)

                reader.MoveToContent()
            End While
            reader.ReadEndElement()
        End Sub

        Public Sub WriteXml(ByVal writer As System.Xml.XmlWriter) Implements System.Xml.Serialization.IXmlSerializable.WriteXml
            For Each k As Integer In Dictionary.Keys
                Serializer.Serialize(writer, Me.Dictionary(k))
            Next

        End Sub

    End Class

    Public SalvageInfo As SDictionary(Of Integer, String)
    Public SpellData As NameIdList
    Public EquipSkill As NameIdList
    Public ImbueStrings As NameIdList
    Public HeritageStrings As NameIdList
    Public SetStrings As NameIdList
    Public SpellsFilter As NameIdList

    Public RuleAppliesTo As NameIdList
    Public RuleArmorCoverage As NameIdList
    Public RuleArmorTypes As NameIdList
    Public RuleWeaponTypes As NameIdList
    Public RuleWeaponDamageTypes As NameIdList

    Public Sub defaultfill()
        SalvageInfo = (New SDictionary(Of Integer, String))
        SalvageInfo.Add(15, "Increase armor level 20")
        '

        RuleWeaponTypes = New NameIdList
        RuleWeaponTypes.Add("(Not Applicable)", 0)
        RuleWeaponTypes.Add("Missile Bow", 1)
        RuleWeaponTypes.Add("Missile Crossbow", 2)
        RuleWeaponTypes.Add("Missile Atlan", 3)
        RuleWeaponTypes.Add("Melee Sword", 4)
        RuleWeaponTypes.Add("Melee Ua", 5)
        RuleWeaponTypes.Add("Melee Axe", 6)
        RuleWeaponTypes.Add("Melee Mace", 7)
        RuleWeaponTypes.Add("Melee Dagger", 8)
        RuleWeaponTypes.Add("Melee Staff", 9)
        RuleWeaponTypes.Add("Melee Spear", 10)
        RuleWeaponTypes.Add("Melee Twohanded", 11)
        RuleWeaponTypes.Add("Wand staff orb", 12)

        RuleAppliesTo = New NameIdList
        RuleAppliesTo.Add("Clothing", &H40000)
        RuleAppliesTo.Add("Jewelry", &H10000)
        RuleAppliesTo.Add("MeleeWeapon", &H80000)
        RuleAppliesTo.Add("MissileWeapon", &H100000)
        RuleAppliesTo.Add("Wand", &H800)
        RuleAppliesTo.Add("Shield", &H200000)
        RuleAppliesTo.Add("Scroll", &H400000)

        RuleWeaponDamageTypes = New NameIdList
        RuleWeaponDamageTypes.Add("Slashing", 1)
        RuleWeaponDamageTypes.Add("Piercing", 2)
        RuleWeaponDamageTypes.Add("Bludgeoning", 4)
        RuleWeaponDamageTypes.Add("Cold", 8)
        RuleWeaponDamageTypes.Add("Fire", 16)
        RuleWeaponDamageTypes.Add("Acid", 32)
        RuleWeaponDamageTypes.Add("Electric", 64)

        RuleArmorTypes = New NameIdList
        RuleArmorTypes.Add("Amuli", &H1)
        RuleArmorTypes.Add("Celdon", &H2)
        RuleArmorTypes.Add("Chainmail", &H4)
        RuleArmorTypes.Add("Chiran", &H8)
        RuleArmorTypes.Add("Covenant", &H10)
        RuleArmorTypes.Add("Lorica", &H20)
        RuleArmorTypes.Add("Nariyid", &H40)
        RuleArmorTypes.Add("Koujia", &H80)
        RuleArmorTypes.Add("Platemail", &H100)
        RuleArmorTypes.Add("Scalemail", &H200)
        RuleArmorTypes.Add("Yoroi", &H400)
        RuleArmorTypes.Add("Other", &H800)

        RuleArmorCoverage = New NameIdList
        RuleArmorCoverage.Add("UpperLegs", &H100)
        RuleArmorCoverage.Add("LowerLegs", &H200)
        RuleArmorCoverage.Add("Chest", &H400)
        RuleArmorCoverage.Add("Abdomen", &H800)
        RuleArmorCoverage.Add("UpperArms", &H1000)
        RuleArmorCoverage.Add("LowerArms", &H2000)
        RuleArmorCoverage.Add("Head", &H4000)
        RuleArmorCoverage.Add("Hands", &H8000)
        RuleArmorCoverage.Add("Feet", &H10000)

        SetStrings = New NameIdList
        Dim temp As NameId 'set quest item flag
        temp = SetStrings.Add("Noble Relic Set", 5)
        temp.Flags = 1
        temp = SetStrings.Add("Ancient Relic Set", 6)
        temp.Flags = 1
        temp = SetStrings.Add("Relic Alduressa Set", 7)
        temp.Flags = 1
        temp = SetStrings.Add("Shou-jen Set", 8)
        temp.Flags = 1
        temp = SetStrings.Add("Empyrean Rings Set", 9)
        temp.Flags = 1
        temp = SetStrings.Add("Arm, Mind, Heart Set", 10)
        temp.Flags = 1
        temp = SetStrings.Add("Coat of the Perfect Light Set", 11)
        temp.Flags = 1
        temp = SetStrings.Add("Leggings of Perfect Light Set", 12)
        temp.Flags = 1
        temp = SetStrings.Add("Gladiatorial Clothing Set", 31)
        temp.Flags = 1
        temp = SetStrings.Add("Protective Clothing Set", 32)
        temp.Flags = 1
        temp = SetStrings.Add("Dedication Set", 30)
        temp.Flags = 1
        SetStrings.Add("Soldier's Set", 13)
        SetStrings.Add("Adept's Set", 14)
        SetStrings.Add("Archer's Set", 15)
        SetStrings.Add("Defender's Set", 16)
        SetStrings.Add("Tinker's Set", 17)
        SetStrings.Add("Crafter's Set", 18)
        SetStrings.Add("Hearty Set", 19)
        SetStrings.Add("Dexterous Set", 20)
        SetStrings.Add("Wise Set", 21)
        SetStrings.Add("Swift Set", 22)
        SetStrings.Add("Hardenend Set", 23)
        SetStrings.Add("Reinforced Set", 24)
        SetStrings.Add("Flame Proof Set", 26)
        SetStrings.Add("Interlocking Set", 25)
        SetStrings.Add("Acid Proof Set", 27)
        SetStrings.Add("Cold Proof Set", 28)
        SetStrings.Add("Lightning Proof Set", 29)

        SetStrings.Add("Sigil of Defense Set", 35)
        SetStrings.Add("Sigil of Destruction Set", 36)
        SetStrings.Add("Sigil of Fury Set", 37)
        SetStrings.Add("Sigil of Growth Set", 38)
        SetStrings.Add("Sigil of Vigor Set", 39)

        HeritageStrings = New NameIdList
        HeritageStrings.Add("Aluvian", 1)
        HeritageStrings.Add("Gharu'ndim", 2)
        HeritageStrings.Add("Sho", 3)
        HeritageStrings.Add("Viamontian", 4)

        ImbueStrings = New NameIdList
        ImbueStrings.Add("CS", &H1)
        ImbueStrings.Add("CB", &H2)
        ImbueStrings.Add("AR", &H4)
        ImbueStrings.Add("SlashRend", &H8)
        ImbueStrings.Add("PierceRend", &H10)
        ImbueStrings.Add("BludgeRend", &H20)
        ImbueStrings.Add("AcidRend", &H40)
        ImbueStrings.Add("ColdRend", &H80)
        ImbueStrings.Add("LightRend", &H100)
        ImbueStrings.Add("FireRend", &H200)
        ImbueStrings.Add("MeleeImbue", &H400)
        ImbueStrings.Add("Hematited", &H2000)
        ImbueStrings.Add("MagicAbsorb", &H20000000)

        EquipSkill = New NameIdList
        EquipSkill.Add("Axe", &H1)
        EquipSkill.Add("Bow", &H2)
        EquipSkill.Add("Crossbow", &H3)
        EquipSkill.Add("Dagger", &H4)
        EquipSkill.Add("Mace", &H5)
        EquipSkill.Add("Melee Defense", &H6)
        EquipSkill.Add("Missile Defense", &H7)
        EquipSkill.Add("Spear", &H9)
        EquipSkill.Add("Staff", &HA)
        EquipSkill.Add("Sword", &HB)
        EquipSkill.Add("Thrown Weapons", &HC)
        EquipSkill.Add("Unarmed Combat", &HD)
        EquipSkill.Add("Arcane Lore", &HE)
        EquipSkill.Add("Magic Defense", &HF)
        EquipSkill.Add("Mana Conversion", &H10)
        EquipSkill.Add("Item Tinkering", &H12)
        EquipSkill.Add("Assess Person", &H13)
        EquipSkill.Add("Deception", &H14)
        EquipSkill.Add("Healing", &H15)
        EquipSkill.Add("Jump", &H16)
        EquipSkill.Add("Lockpick", &H17)
        EquipSkill.Add("Run", &H18)
        EquipSkill.Add("Assess Creature", &H1B)
        EquipSkill.Add("Weapon Tinkering", &H1C)
        EquipSkill.Add("Armor Tinkering", &H1D)
        EquipSkill.Add("Magic Item Tinkering", &H1E)
        EquipSkill.Add("Creature Enchantment", &H1F)
        EquipSkill.Add("Item Enchantment", &H20)
        EquipSkill.Add("Life Magic", &H21)
        EquipSkill.Add("War Magic", &H22)
        EquipSkill.Add("Leadership", &H23)
        EquipSkill.Add("Loyalty", &H24)
        EquipSkill.Add("Fletching", &H25)
        EquipSkill.Add("Alchemy", &H26)
        EquipSkill.Add("Cooking", &H27)
        EquipSkill.Add("Salvaging", &H28)
        EquipSkill.Add("Two Handed Combat", &H29)

        SpellData = New NameIdList

        SpellData.Add("Epic Two Handed Combat Aptitude", &H13AA)
        SpellData.Add("Major Two Handed Combat Aptitude", &H13CE)
        SpellData.Add("Incantation of Two Handed Combat Mastery Self", &H13A8)
        SpellData.Add("Incantation of Two Handed Combat Mastery Other", &H13EA)
        SpellData.Add("Two Handed Combat Mastery Self 6", &H13F0)
        SpellData.Add("Two Handed Combat 6", &H13E8)

        SpellData.Add("Minor Mana Conversion Prowess", 2560)
        SpellData.Add("Minor Unarmed Aptitude", 2568)
        SpellData.Add("Minor Mana Gain", 2627)
        SpellData.Add("Minor Lockpick Prowess", 2556)
        SpellData.Add("Minor Strength", 2583)
        SpellData.Add("Minor Defender", 2600)
        SpellData.Add("Minor Salvaging Aptitude", 3833)
        SpellData.Add("Minor Life Magic Aptitude", 2555)
        SpellData.Add("Minor Blood Thirst", 2598)
        SpellData.Add("Minor Impenetrability", 2604)
        SpellData.Add("Minor Acid Bane", 2597)
        SpellData.Add("Minor Evil Thirst", 3409)
        SpellData.Add("Minor Salvaging Aptitude", 3809)
        SpellData.Add("Minor Endurance", 2580)
        SpellData.Add("Minor Bow Aptitude", 2540)
        SpellData.Add("Minor Storm Bane", 2607)
        SpellData.Add("Minor Spirit Thirst", 3251)
        SpellData.Add("Minor Hermetic Link", 3199)
        SpellData.Add("Minor Flame Bane", 2601)
        SpellData.Add("Minor Alchemical Prowess", 2536)
        SpellData.Add("Minor Sword Aptitude", 2566)
        SpellData.Add("Minor Quickness", 2582)
        SpellData.Add("Minor Thrown Aptitude", 2567)
        SpellData.Add("Minor Impregnability", 2549)
        SpellData.Add("Minor Arcane Prowess", 2537)
        SpellData.Add("Minor Gear Craft Aptitude ", &H13CF)


        SpellData.Add("Major Stamina Gain", 2625)
        SpellData.Add("Major Frost Ward", 2612)
        SpellData.Add("Major Coordination", 2572)
        SpellData.Add("Major Spear Aptitude", 2528)
        SpellData.Add("Major Mace Aptitude", 2522)
        SpellData.Add("Major Item Tinkering Expertise", 2517)
        SpellData.Add("Major Axe Aptitude", 2504)
        SpellData.Add("Major Sprint", 2529)
        SpellData.Add("Major Jumping Prowess", 2518)
        SpellData.Add("Major Acid Ward", 2609)
        SpellData.Add("Major Fealty", 2511)
        SpellData.Add("Major Quickness", 2575)
        SpellData.Add("Major Acid Bane", 2585)
        SpellData.Add("Major Frost Bane", 2590)
        SpellData.Add("Major Bow Aptitude", 2505)
        SpellData.Add("Major Deception Prowess", 2510)
        SpellData.Add("Major Healing Prowess", 2513)
        SpellData.Add("Major Armor Tinkering Expertise", 2503)
        SpellData.Add("Major Dagger Aptitude", 2509)
        SpellData.Add("Major Magic Item Tinkering Expertise", 2523)
        SpellData.Add("Major Armor", 2571)
        SpellData.Add("Major Crossbow Aptitude", 2508)
        SpellData.Add("Major Slashing Bane", 2594)
        SpellData.Add("Major Gear Craft Aptitude ", &H13CD)

        SpellData.Add("Epic Slashing Bane", 4669)
        SpellData.Add("Epic Acid Bane", 4660)
        SpellData.Add("Epic War Magic Aptitude", 4715)
        SpellData.Add("Epic Bludgeoning Ward", 4674)
        SpellData.Add("Epic Arcane Prowess", 4684)
        SpellData.Add("Epic Fealty", 4692)
        SpellData.Add("Epic Piercing Ward", 4677)
        SpellData.Add("Epic Bow Aptitude", 4687)
        SpellData.Add("Epic Frost Ward", 4676)
        SpellData.Add("Epic Magic Resistance", 4704)
        SpellData.Add("Epic Defender", 4663)
        SpellData.Add("Epic Thrown Aptitude", 4713)
        SpellData.Add("Epic Flame Ward", 4675)
        SpellData.Add("Epic Magic Item Tinkering Expertise", 4703)
        SpellData.Add("Epic Blood Thirst", 4661)

        SpellData.Add("Bludgeon Bane 7", 2098)
        SpellData.Add("Lockpick 7", 2271)
        SpellData.Add("Swift Killer 6", 1627)
        SpellData.Add("Armor 6", 1312)
        SpellData.Add("Weapon Tinkering 7", 2325)
        SpellData.Add("Bludgeoning Protection 6", 1023)
        SpellData.Add("Crossbow 6", 496)
        SpellData.Add("Focus 7", 2067)
        SpellData.Add("Quickness 6", 1402)
        SpellData.Add("Acid Bane 7", 2092)
        SpellData.Add("Piercing Bane 7", 2113)
        SpellData.Add("Fire Protection 7", 2157)
        SpellData.Add("Life Magic 6", 610)
        SpellData.Add("Salvaging 7", 3505)
        SpellData.Add("Axe 7", 2203)
        SpellData.Add("Staff 6", 399)

        SpellData.Add("Incantation of Spear Mastery Self", 4614)
        SpellData.Add("Incantation of Magic Item Tinkering Expertise Self", 4592)
        SpellData.Add("Incantation of Strength Self", 4325)
        SpellData.Add("Incantation of Invulnerability Self", 4560)
        SpellData.Add("Incantation of Mace Mastery Self", 4590)
        SpellData.Add("Incantation of Bludgeoning Protection Self", 4464)
        SpellData.Add("Incantation of Arcane Enlightenment Self", 4510)
        SpellData.Add("Incantation of Acid Bane", 4391)
        SpellData.Add("Incantation of Gear Craft Mastery Other", &H13C4)

        SpellData.Add("Quickness 7", 2081)

        SpellData.Add("Frost Bane 7", 2104)
        SpellData.Add("Incantation of Flame Bane", 4401)
        SpellData.Add("Incantation of Axe Mastery Self", 4518)
        SpellData.Add("Epic Cooking Prowess", 4688)

        SpellData.Add("Mace 6", 351)
        SpellData.Add("Incantation of Jumping Mastery Self", 4572)
        SpellData.Add("Incantation of Strengthen Lock", 4416)
        SpellData.Add("Dagger 6", 327)
        SpellData.Add("Lockpick 6", 927)
        SpellData.Add("Rejuvenation 7", 2187)
        SpellData.Add("Incantation of Heal Self", 4311)
        SpellData.Add("Cold Protection 6", 1035)
        SpellData.Add("Incantation of Mana Renewal Self", 4494)
        SpellData.Add("Incantation of Person Attunement Self", 4608)
        SpellData.Add("Incantation of Quickness Self", 4319)
        SpellData.Add("Incantation of Spirit Drinker", 4414)
        SpellData.Add("Incantation of Lightning Bane", 4409)
        SpellData.Add("Incantation of Item Tinkering Expertise Self", 4566)
        SpellData.Add("Incantation of Fealty Self", 4548)
        SpellData.Add("Incantation of Focus Self", 4305)

        SpellData.Add("Impenetrability 7", 2108)
        SpellData.Add("Armor 7", 2053)
        SpellData.Add("Piercing Protection 7", 2161)
        SpellData.Add("Creature Enchantment 7", 2215)
        SpellData.Add("Blood Drinker 7", 2096)
        SpellData.Add("Loyalty 7", 2233)
        SpellData.Add("Magic Item Tinkering 7", 2277)
        SpellData.Add("Staff 7", 2305)
        SpellData.Add("War Magic 7", 2323)
        SpellData.Add("Alchemy 7", 2191)
        SpellData.Add("Swift Killer 7", 2116)

        SpellData.Add("Lightning Protection 6", 1071)
        SpellData.Add("Self 6", 1450)
        SpellData.Add("Piercing Protection 6", 1138)
        SpellData.Add("Salvaging 6", 3504)
        SpellData.Add("Lightning Bane 6", 1540)
        SpellData.Add("Mana 6", 1480)
        SpellData.Add("Endurance 6", 1354)
        SpellData.Add("Item Tinkering 6", 731)
        SpellData.Add("Unarmed Combat 6", 448)
        SpellData.Add("Focus 6", 1426)

        SpellData.Add("Major Swift Hunter", 2596)
        SpellData.Add("Major Piercing Ward", 2613)

        SpellData.Add("Incantation of Magic Resistance Self", 4596)
        SpellData.Add("Magic Defense 7", 2281)
        SpellData.Add("Cold Protection 7", 2155)
        SpellData.Add("Epic Bludgeoning Bane", 4662)
        SpellData.Add("Armor Tinkering 6", 707)

        SpellData.Add("Incantation of Blade Protection Self", 4462)
        SpellData.Add("Minor Cooking Prowess", 2541)
        SpellData.Add("Bow 6", 472)
        SpellData.Add("Major Endurance", 2573)
        SpellData.Add("Minor Health Gain", 2626)
        SpellData.Add("Bludgeon Bane 6", 1516)
        SpellData.Add("Major Item Enchantment Aptitude", 2516)
        SpellData.Add("Deception 7", 2227)
        SpellData.Add("Epic Willpower", 4227)
        SpellData.Add("Epic Axe Aptitude", 4686)
        SpellData.Add("Minor Fletching Prowess", 2547)
        SpellData.Add("Incantation of Crossbow Mastery Self", 4534)
        SpellData.Add("Melee Defense 7", 2245)
        SpellData.Add("Major Lockpick Prowess", 2521)
        SpellData.Add("Epic Leadership", 4232)
        SpellData.Add("Epic Dagger Aptitude", 4691)
        SpellData.Add("Flame Bane 6", 1552)
        SpellData.Add("Minor Item Tinkering Expertise", 2552)
        SpellData.Add("Incantation of Fletching Mastery Self", 4552)
        SpellData.Add("Leadership 7", 2263)
        SpellData.Add("Major Spirit Thirst", 3250)
        SpellData.Add("Loyalty 6", 951)
        SpellData.Add("Epic Strength", 3965)
        SpellData.Add("Minor Weapon Tinkering Expertise", 2570)
        SpellData.Add("Minor Slashing Bane", 2606)
        SpellData.Add("Major Alchemical Prowess", 2501)
        SpellData.Add("Minor Armor", 2578)
        SpellData.Add("Incantation of Leadership Mastery Self", 4578)
        SpellData.Add("Major Flame Ward", 2611)
        SpellData.Add("Regeneration 7", 2185)
        SpellData.Add("Minor Frost Ward", 2619)
        SpellData.Add("Epic Deception Prowess", 4020)
        SpellData.Add("Item Tinkering 7", 2251)
        SpellData.Add("Epic Acid Ward", 4673)
        SpellData.Add("Major Life Magic Aptitude", 2520)
        SpellData.Add("Coordination 7", 2059)
        SpellData.Add("Incantation of Impenetrability", 4407)
        SpellData.Add("Epic Piercing Bane", 4668)
        SpellData.Add("Epic Unarmed Aptitude", 4714)
        SpellData.Add("Epic Slashing Ward", 4678)
        SpellData.Add("War Magic 6", 634)
        SpellData.Add("Incantation of Piercing Bane", 4412)
        SpellData.Add("Major Storm Bane", 2595)
        SpellData.Add("Lightning Bane 7", 2110)
        SpellData.Add("Incantation of Life Magic Mastery Self", 4582)
        SpellData.Add("Strength 7", 2087)
        SpellData.Add("Epic Spear Aptitude", 4709)
        SpellData.Add("Incantation of Bow Mastery Self", 4522)
        SpellData.Add("Epic Mace Aptitude", 4702)
        SpellData.Add("Major Mana Gain", 2624)
        SpellData.Add("Acid Protection 7", 2149)
        SpellData.Add("Incantation of Sword Mastery Self", 4624)
        SpellData.Add("Major Invulnerability", 2515)
        SpellData.Add("Jump 6", 975)
        SpellData.Add("Epic Invulnerability", 4696)
        SpellData.Add("Major Arcane Prowess", 2502)
        SpellData.Add("Spear 6", 375)
        SpellData.Add("Minor Leadership", 2554)
        SpellData.Add("Arcane Lore 6", 683)
        SpellData.Add("Epic Armor Tinkering Expertise", 4685)
        SpellData.Add("Epic Endurance", 4226)
        SpellData.Add("Major Unarmed Aptitude", 2533)
        SpellData.Add("Fire Protection 6", 1094)
        SpellData.Add("Blade Bane 7", 2094)
        SpellData.Add("Jump 7", 2257)
        SpellData.Add("Epic Crossbow Aptitude", 4690)
        SpellData.Add("Frost Bane 6", 1528)
        SpellData.Add("Major Willpower", 2577)
        SpellData.Add("Incantation of Item Enchantment Mastery Self", 4564)
        SpellData.Add("Mace 7", 2275)
        SpellData.Add("Epic Item Tinkering Expertise", 4698)
        SpellData.Add("Acid Protection 6", 520)
        SpellData.Add("Epic Focus", 3964)
        SpellData.Add("Minor Magic Resistance", 2559)
        SpellData.Add("Minor Stamina Gain", 2628)
        SpellData.Add("Incantation of Thrown Weapons Mastery Self", 4628)
        SpellData.Add("Defender 6", 1605)
        SpellData.Add("Minor Piercing Bane", 2605)
        SpellData.Add("Healing 7", 2241)
        SpellData.Add("Unarmed Combat 7", 2316)
        SpellData.Add("Incantation of Feeblemind Self", 4303)
        SpellData.Add("Major Health Gain", 2623)
        SpellData.Add("Impenetrability 6", 1486)
        SpellData.Add("Major Bludgeoning Ward", 2610)
        SpellData.Add("Armor Tinkering 7", 2197)
        SpellData.Add("Incantation of Revitalize Self", 4321)
        SpellData.Add("Minor Flame Ward", 2618)
        SpellData.Add("Minor Swift Hunter", 2608)
        SpellData.Add("Minor Jumping Prowess", 2553)
        SpellData.Add("Incantation of Willpower Self", 4329)
        SpellData.Add("Incantation of Arcanum Salvaging Self", 4499)
        SpellData.Add("Epic Swift Hunter", 4672)
        SpellData.Add("Minor Armor Tinkering Expertise", 2538)
        SpellData.Add("Incantation of Hermetic Void", 4406)
        SpellData.Add("Mana 7", 2117)
        SpellData.Add("Coordination 6", 1378)
        SpellData.Add("Mana Conversion 7", 2287)
        SpellData.Add("Minor Focus", 2581)
        SpellData.Add("Fletching 6", 1744)
        SpellData.Add("Epic Salvaging Aptitude", 4708)
        SpellData.Add("Epic Jumping Prowess", 4699)
        SpellData.Add("Major Flame Bane", 2589)
        SpellData.Add("Bludgeoning Protection 7", 2153)
        SpellData.Add("Incantation of Acid Protection Self", 4460)
        SpellData.Add("Incantation of Bludgeon Bane", 4397)
        SpellData.Add("Bow 7", 2207)
        SpellData.Add("Incantation of Fire Protection Self", 4468)
        SpellData.Add("Major Impregnability", 2514)
        SpellData.Add("Incantation of Nuhmudira's Wisdom", 4501)
        SpellData.Add("Minor Frost Bane", 2602)
        SpellData.Add("Epic Item Enchantment Aptitude", 4697)
        SpellData.Add("Minor Deception Prowess", 2545)
        SpellData.Add("Missile Defense 7", 2243)
        SpellData.Add("Incantation of Creature Enchantment Mastery Self", 4530)
        SpellData.Add("Item Enchantment 6", 586)
        SpellData.Add("Major Thrown Aptitude", 2532)
        SpellData.Add("Major Strength", 2576)
        SpellData.Add("Epic Coordination", 3963)
        SpellData.Add("Deception 6", 855)
        SpellData.Add("Minor Magic Item Tinkering Expertise", 2558)
        SpellData.Add("Incantation of Impregnability Self", 4558)
        SpellData.Add("Minor Bludgeoning Ward", 2617)
        SpellData.Add("Incantation of Monster Attunement Self", 4604)
        SpellData.Add("Sword 6", 423)
        SpellData.Add("Incantation of Mana Boost Self", 4315)
        SpellData.Add("Epic Monster Attunement", 4706)
        SpellData.Add("Epic Fletching Prowess", 4693)
        SpellData.Add("Magic Item Tinkering 6", 755)
        SpellData.Add("Minor Storm Ward", 2622)
        SpellData.Add("Mana Renewal 7", 2183)
        SpellData.Add("Regeneration 6", 170)
        SpellData.Add("Minor Item Enchantment Aptitude", 2551)
        SpellData.Add("Major Weapon Tinkering Expertise", 2535)
        SpellData.Add("Missile Defense 6", 261)
        SpellData.Add("Incantation of Weapon Tinkering Expertise Self", 4640)
        SpellData.Add("Acid Bane 6", 1498)
        SpellData.Add("Incantation of Rejuvenation Self", 4498)
        SpellData.Add("Epic Storm Bane", 4671)
        SpellData.Add("Epic Person Attunement", 4707)
        SpellData.Add("Melee Defense 6", 249)
        SpellData.Add("Incantation of Heart Seeker", 4405)
        SpellData.Add("Epic Storm Ward", 4679)
        SpellData.Add("Minor Acid Ward", 2616)
        SpellData.Add("Epic Sword Aptitude", 4712)
        SpellData.Add("Major Piercing Bane", 2593)
        SpellData.Add("Minor Piercing Ward", 2620)
        SpellData.Add("Incantation of Hermetic Link", 4418)
        SpellData.Add("Incantation of Armor Self", 4291)
        SpellData.Add("Minor Fealty", 2546)
        SpellData.Add("Major Defender", 2588)
        SpellData.Add("Spear 7", 2299)
        SpellData.Add("Cooking 7", 2211)
        SpellData.Add("Incantation of Endurance Self", 4299)
        SpellData.Add("Incantation of Piercing Protection Self", 4472)
        SpellData.Add("Minor Invulnerability", 2550)
        SpellData.Add("Mana Conversion 6", 658)
        SpellData.Add("Epic Piercing Ward", 3956)
        SpellData.Add("Major Monster Attunement", 2526)
        SpellData.Add("Incantation of Cooking Mastery Self", 4526)
        SpellData.Add("Fletching 7", 2237)
        SpellData.Add("Epic Alchemical Prowess", 4683)
        SpellData.Add("Minor Staff Aptitude", 2565)
        SpellData.Add("Major Sword Aptitude", 2531)
        SpellData.Add("Mana Renewal 6", 217)
        SpellData.Add("Major Staff Aptitude", 2530)
        SpellData.Add("Crossbow 7", 2219)
        SpellData.Add("Major Person Attunement", 2527)
        SpellData.Add("Epic Slashing Ward", 3957)
        SpellData.Add("Blade Bane 6", 1562)
        SpellData.Add("Minor Axe Aptitude", 2539)
        SpellData.Add("Epic Armor", 4911)
        SpellData.Add("Blood Drinker 6", 1616)
        SpellData.Add("Minor Heart Thirst", 2603)
        SpellData.Add("Incantation of Sprint Self", 4616)
        SpellData.Add("Run 7", 2301)
        SpellData.Add("Minor Slashing Ward", 2621)
        SpellData.Add("Arcane Lore 7", 2195)
        SpellData.Add("Strength 6", 1332)
        SpellData.Add("Sword 7", 2309)
        SpellData.Add("Epic Frost Bane", 4665)
        SpellData.Add("Endurance 7", 2061)
        SpellData.Add("Minor Sprint", 2564)
        SpellData.Add("Epic Spirit Thirst", 4670)
        SpellData.Add("Leadership 6", 903)
        SpellData.Add("Incantation of Blood Drinker", 4395)
        SpellData.Add("Major Slashing Ward", 2614)
        SpellData.Add("Incantation of Swift Killer", 4417)
        SpellData.Add("Flame Bane 7", 2102)
        SpellData.Add("Major Bludgeoning Bane", 2587)
        SpellData.Add("Epic Staff Aptitude", 4711)
        SpellData.Add("Heart Seeker 6", 1592)
        SpellData.Add("Major Impenetrability", 2592)
        SpellData.Add("Minor Dagger Aptitude", 2544)
        SpellData.Add("Incantation of Blade Bane", 4393)
        SpellData.Add("Incantation of War Magic Mastery Self", 4638)
        SpellData.Add("Incantation of Cold Protection Self", 4466)
        SpellData.Add("Blade Protection 7", 2151)
        SpellData.Add("Lightning Protection 7", 2159)
        SpellData.Add("Major Creature Enchantment Aptitude", 2507)
        SpellData.Add("Alchemy 6", 1768)
        SpellData.Add("Thrown Weapons 6", 544)
        SpellData.Add("Minor Spear Aptitude", 2563)
        SpellData.Add("Major Mana Conversion Prowess", 2525)
        SpellData.Add("Incantation of Armor Tinkering Expertise Self", 4512)
        SpellData.Add("Dagger 7", 2223)
        SpellData.Add("Epic Impregnability", 4695)
        SpellData.Add("Epic Weapon Tinkering Expertise", 4912)
        SpellData.Add("Incantation of Healing Mastery Self", 4556)
        SpellData.Add("Minor Healing Prowess", 2548)
        SpellData.Add("Self 7", 2091)
        SpellData.Add("Life Magic 7", 2267)
        SpellData.Add("Piercing Bane 6", 1574)
        SpellData.Add("Major Focus", 2574)
        SpellData.Add("Incantation of Dagger Mastery Self", 4538)
        SpellData.Add("Incantation of Lockpick Mastery Self", 4586)
        SpellData.Add("Item Enchantment 7", 2249)
        SpellData.Add("Minor Crossbow Aptitude", 2543)
        SpellData.Add("Epic Life Magic Aptitude", 4700)
        SpellData.Add("Minor War Magic Aptitude", 2569)
        SpellData.Add("Major Storm Ward", 2615)
        SpellData.Add("Incantation of Mana Conversion Mastery Self", 4602)
        SpellData.Add("Rejuvenation 6", 193)
        SpellData.Add("Epic Impenetrability", 4667)
        SpellData.Add("Thrown Weapons 7", 2313)
        SpellData.Add("Incantation of Regeneration Self", 4496)
        SpellData.Add("Incantation of Staff Mastery Self", 4620)
        SpellData.Add("Epic Quickness", 4019)
        SpellData.Add("Minor Person Attunement", 2562)
        SpellData.Add("Epic Flame Bane", 4664)
        SpellData.Add("Healing 6", 879)
        SpellData.Add("Creature Enchantment 6", 562)
        SpellData.Add("Magic Defense 6", 279)
        SpellData.Add("Epic Mana Conversion Prowess", 4705)
        SpellData.Add("Weapon Tinkering 6", 779)
        SpellData.Add("Minor Coordination", 2579)
        SpellData.Add("Blade Protection 6", 1114)
        SpellData.Add("Defender 7", 2101)
        SpellData.Add("Major Blood Thirst", 2586)
        SpellData.Add("Minor Creature Enchantment Aptitude", 2542)
        SpellData.Add("Major War Magic Aptitude", 2534)
        SpellData.Add("Epic Sprint", 4710)
        SpellData.Add("Incantation of Coordination Self", 4297)
        SpellData.Add("Major Heart Thirst", 2591)
        SpellData.Add("Major Salvaging Aptitude", 3834)
        SpellData.Add("Epic Lockpick Prowess", 4701)
        SpellData.Add("Epic Heart Thirst", 4666)
        SpellData.Add("Incantation of Unarmed Combat Mastery Self", 4631)
        SpellData.Add("Minor Bludgeoning Bane", 2599)
        SpellData.Add("Minor Mace Aptitude", 2557)
        SpellData.Add("Major Hermetic Link", 3200)
        SpellData.Add("Incantation of Lightning Protection Self", 4470)
        SpellData.Add("Major Cooking Prowess", 2506)
        SpellData.Add("Cooking 6", 1720)
        SpellData.Add("Incantation of Alchemy Mastery Self", 4506)
        SpellData.Add("Minor Monster Attunement", 2561)
        SpellData.Add("Major Magic Resistance", 2524)
        SpellData.Add("Run 6", 987)
        SpellData.Add("Epic Healing Prowess", 4694)
        SpellData.Add("Major Fletching Prowess", 2512)
        SpellData.Add("Axe 6", 303)
        SpellData.Add("Major Leadership", 2519)
        SpellData.Add("Incantation of Deception Mastery Self", 4542)
        SpellData.Add("Minor Willpower", 2584)
        SpellData.Add("Heart Seeker 7", 2106)
        SpellData.Add("Epic Bludgeon Ward", 3955)
        SpellData.Add("Epic Creature Enchantment Aptitude", 4689)
        SpellData.Add("Incantation of Frost Bane", 4403)

    End Sub

    Sub New()

    End Sub
End Class
